package a17_SellAirTickets;

import javax.swing.*;
import java.util.Scanner;

/**
 * @Author quan
 * @Description 优化V0:将判断if抽取成方法：选中重复代码ctrl Alt m快捷键直接生成
 * @Date 2023/2/2 14:01
 */

public class TestDemoV1 {
    public static void main(String[] args) {
        //1、键盘录入机票原价，月份，头等舱还是经济舱
        System.out.println("请输入机票价格：");
        int price = readKeyBoardInt();
        System.out.println("请输入当前的月份：");
        int month = readKeyBoardInt();
        System.out.println("请输入舱位等级：0头等舱  1经济舱");
        int seat = readKeyBoardInt();
        //2、判断月份是淡季还是旺季
        //3、判断是经济舱还是头等舱
        //4、根据情况计算价格
        //旺季
        if (month >= 5 && month <= 10) {
            price = getDiscountPrice(price,seat,0.9,0.85);
        //淡季
        } else if ((month >= 1 && month <= 4) || (month >= 11 && month <= 12)) {
            price = getDiscountPrice(price,seat,0.7,0.65);
        } else {
            System.out.println("输入的月份不合法");
        }
        System.out.println(price);
    }

    //输入键盘函数
    public static int readKeyBoardInt() {
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();
    }

    //写方法
   /* 1、要干什么？ 根据舱位和折扣计算最终的票价
    2、干这件事需要什么？ 形参：机票原价,舱位,头等舱折扣,经济舱折扣
    3、方法的调用处是否需要返回值？  需要返回值：折扣价格*/
    public static int getDiscountPrice(int price, int seat, double d1, double d2) {
        if (seat == 0) {//头等舱
            price= (int) (price * d1);//整个结果转为int类型
        } else if (seat == 1) {//经济舱
            price = (int) (price * d2);
        } else {
            System.out.println("没有这个舱位");
        }
        return price;
    }
}
